package com.hj.springframework2.context;

import org.springframework.lang.Nullable;

import java.util.List;

/**
 * @Author : hujing
 * @Date: 2025/6/20 16:37
 * @Description:
 */
public interface ConfigurableApplicationContext extends ApplicationContext{
    
    List<BeanDefinition> findBeanDefinitions(Class<?> type);
    
    @Nullable
    BeanDefinition findBeanDefinition(Class<?> type);
    
    @Nullable
    BeanDefinition findBeanDefinition(String name);
    
    @Nullable
    BeanDefinition findBeanDefinition(String name,Class<?> requiredType);
    
    Object createBeanAsEarlySingleton(BeanDefinition def);
}
